package com.shujia.wyh.day07.ketang;

/*
    Object类：java中所有的类包括自己定义的类都有一个父类
    Class Object是类Object结构的根。 每个班都有Object作为超类。 所有对象（包括数组）都实现了这个类的方法。

    Object类中的方法
    public int hashCode()
    public final Class getClass()  获取对象的类的对象

    public String toString()  获取对象的地址值 打印对象的名字默认会调用toString()方法
    但是，我们获取地址值是没有太大意义的，我们打印一个对象，更希望观察的是该对象成员变量值的情况
    子类重写toString()方法，不需要，自动生成即可，得到一个标准类的最终写法


    public boolean equals(Object obj)
    protected void finalize()
    protected Object clone()




 */
public class ObjectDemo1 {
    public static void main(String[] args) {
        Teacher t1 = new Teacher();
//        System.out.println(t1.hashCode()); //1163157884
//        Class<? extends Teacher> a1 = t1.getClass();
//
//        Teacher t2 = new Teacher();
//        System.out.println(t2.hashCode()); //1956725890
//        Class<? extends Teacher> a2 = t2.getClass();
//        System.out.println(a1==a2);

//        System.out.println(t1.toString());  //com.shujia.wyh.day07.ketang.Teacher@4554617c
        // getClass().getName() + '@' + Integer.toHexString(hashCode())
//        System.out.println(t1.getClass()); //class com.shujia.wyh.day07.ketang.Teacher
        System.out.println(t1); //com.shujia.wyh.day07.ketang.Teacher@4554617c

    }
}
